#pragma once
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int qdatatype;

typedef struct slistnode
{
	qdatatype _a;
	struct slistnode* _next;
}slistnode;

typedef struct queen
{
	slistnode* head;
	slistnode* tail;
}queen;

void queeninit(queen* ps);
void queenheadpop(queen* ps);
void queentailpush(queen* ps,qdatatype x);
void queendestroy(queen* ps);
qdatatype queenhead(queen* ps);
qdatatype queentail(queen* ps);
int queenempty(queen* ps);
int queensize(queen* ps);